Teaching parallel programming to undergrads with hands-on experience

نویسنده

  • Rainer Keller
چکیده

This paper describes the didactic concept, the content and the lessons learned of a lecture on parallel programming for undergraduate students held during summer term 2013. The course’s focus was on providing hands-on experience, hence students were programming on real life codes using an actual HPC cluster. The lecture’s aim was to provide an in-depth understanding of each parallel programming paradigm used in industry, starting with OpenMP, MPI and OpenCL as an example of a general approach for accelerators. Additionally, MapReduce based on Apache’s Hadoop was introduced as a new and different way of parallelization. The course’s strong points are highlighted, such as useful practicals on real life codes. Keywords-OpenMP, MPI, OpenCL, MapReduce

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Solving a New Multi-objective Unrelated Parallel Machines Scheduling Problem by Hybrid Teaching-learning Based Optimization

This paper considers a scheduling problem of a set of independent jobs on unrelated parallel machines (UPMs) that minimizesthe maximum completion time (i.e., makespan or ), maximum earliness ( ), and maximum tardiness ( ) simultaneously. Jobs have non-identical due dates, sequence-dependent setup times and machine-dependentprocessing times. A multi-objective mixed-integer linear programmi...

متن کامل

An Effective eLearning System for Teaching the Fundamentals of Computing and Programming

The great enhancement in the current available technology from past recent years has shown its tremendous effect on the quality of education. From past many years students of the first year chemical engineering courses are offered a course of computing and programming to enhance their logical thinking capabilities, to improve their problem solving skills along with the hands on experience on cu...

متن کامل

Teaching C/C++ Programming with Lego Mindstorms

Computer programming is a skill required in many professions, not just computer science. Lego Mindstorms NXT can be incorporated into a programming course to add hands-on interactivity that will better engage a broader range of students. Chosing the most suitable programming language is difficult, and this paper summarizes some experiences in teaching students using RoboLab and NXT-G for Mindst...

متن کامل

Teaching Information Security with Virtual Laboratories

S. Johnson e-mail: [email protected] Abstract With rapid advances in the online education and computer virtualization technology, laboratories leveraging virtual machines, or Virtual Hands-on Laboratories, have become one of the key education resources in many fields. In the College of Information Sciences and Technology at the Pennsylvania State University, we have developed a set of virtua...

متن کامل

Easy and Effective Streaming for Introductory Programming Courses

The benefits of small-group hands-on teaching are well known in computer programming education. Unfortunately, with a heterogeneous student population, group members may work at very different speeds, and prefer very different levels of tutor interaction. This makes practical sessions cumbersome for the tutor and frustrating for the students. A more productive educational atmosphere can be achi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013